package kaumono.util;

import com.google.appengine.api.datastore.Key;
import com.google.appengine.api.datastore.KeyFactory;
import com.google.appengine.api.users.User;
import com.google.appengine.api.users.UserServiceFactory;

/**
 * Appengine Key ユーティル
 *
 * @author tanaka.akira
 * @version $Id: KeyUtil.java 687 2009-11-13 07:55:17Z tanaka.akira.2006 $
 */
public final class KeyUtil {

	/**
	 * 親エンティティのためのキーを新規作成します。
	 * <p>
	 * 引数で与えられた クラスの simpleName を Kind に、 ログイン {@link User} の email を keyName
	 * にして {@link Key} を生成します。
	 * </p>
	 *
	 * @param <T>
	 * @param clazz
	 * @return {@link Key}
	 */
	public static <T> Key createParentKey(final String kind) {
		User user = UserServiceFactory.getUserService().getCurrentUser();
		String email = null;
		if (user != null) {
			email = user.getEmail();
		}
		return KeyFactory.createKey(kind, email);
	}

}
